// 导入axios
import axios from "axios"
// 导入进度条样式
import "nprogress/nprogress.css"
// 导入进度条
import NProgress from "nprogress"
// 导入
import {getUserTempId} from "@/utils/getUserTempId"
// 导入store
import store from "@/store"

// 创建axios实例对象
let ajax = axios.create({
    // baseURL: 'http://sph-h5-api.atguigu.cn',
    baseURL: "/api",
    timeout: 5000
})

// 设置请求拦截
ajax.interceptors.request.use(config => {
    // 启动进度条
    NProgress.start()
    // 统一添加请求头
    config.headers.userTempId = getUserTempId()
    // 添加token
    const token=store.state.login.userInfo.token
    // console.log(store)
    if(token){
        config.headers.token=token
    }
    return config  // 返回配置项 这个config里面包含请求的一些配置信息 url method

})
// 设置响应拦截
ajax.interceptors.response.use(response => {
    // 关闭进度条
    NProgress.done()
    // 返回配置
    return response.data
}, error => {
    // 关闭进度条
    NProgress.done()

    console.log("失败了！", error)
    // 返回一个pendinng状态的promise实例
    return new Promise(() => { })
})

// 暴露axios
export default ajax